package msword;

import com4j.*;

@IID("{000209ED-0000-0000-C000-000000000046}")
public interface SmartTag extends Com4jObject {
  // Methods:
  /**
   * <p>
   * Getter method for the COM property "Name"
   * </p>
   * @return  Returns a value of type java.lang.String
   */

  @DISPID(0) //= 0x0. The runtime will prefer the VTID if present
  @VTID(7)
  @DefaultMethod
  String name();


  /**
   * <p>
   * Getter method for the COM property "XML"
   * </p>
   * @return  Returns a value of type java.lang.String
   */

  @DISPID(2) //= 0x2. The runtime will prefer the VTID if present
  @VTID(8)
  String xml();


  /**
   * <p>
   * Getter method for the COM property "Range"
   * </p>
   * @return  Returns a value of type msword.Range
   */

  @DISPID(3) //= 0x3. The runtime will prefer the VTID if present
  @VTID(9)
  Range range();


  /**
   * <p>
   * Getter method for the COM property "DownloadURL"
   * </p>
   * @return  Returns a value of type java.lang.String
   */

  @DISPID(4) //= 0x4. The runtime will prefer the VTID if present
  @VTID(10)
  String downloadURL();


  /**
   * <p>
   * Getter method for the COM property "Properties"
   * </p>
   * @return  Returns a value of type msword.CustomProperties
   */

  @DISPID(5) //= 0x5. The runtime will prefer the VTID if present
  @VTID(11)
  msword.CustomProperties properties();


  @VTID(11)
  @ReturnValue(defaultPropertyThrough={msword.CustomProperties.class})
  msword.CustomProperty properties(
          Object index);

  /**
   * <p>
   * Getter method for the COM property "Application"
   * </p>
   * @return  Returns a value of type msword._Application
   */

  @DISPID(1000) //= 0x3e8. The runtime will prefer the VTID if present
  @VTID(12)
  msword._Application application();


  /**
   * <p>
   * Getter method for the COM property "Creator"
   * </p>
   * @return  Returns a value of type int
   */

  @DISPID(1001) //= 0x3e9. The runtime will prefer the VTID if present
  @VTID(13)
  int creator();


  /**
   * <p>
   * Getter method for the COM property "Parent"
   * </p>
   * @return  Returns a value of type com4j.Com4jObject
   */

  @DISPID(1002) //= 0x3ea. The runtime will prefer the VTID if present
  @VTID(14)
  @ReturnValue(type=NativeType.Dispatch)
  Com4jObject parent();


  /**
   */

  @DISPID(65535) //= 0xffff. The runtime will prefer the VTID if present
  @VTID(15)
  void select();


  /**
   */

  @DISPID(11) //= 0xb. The runtime will prefer the VTID if present
  @VTID(16)
  void delete();


  /**
   * <p>
   * Getter method for the COM property "SmartTagActions"
   * </p>
   * @return  Returns a value of type msword.SmartTagActions
   */

  @DISPID(1003) //= 0x3eb. The runtime will prefer the VTID if present
  @VTID(17)
  msword.SmartTagActions smartTagActions();


  @VTID(17)
  @ReturnValue(defaultPropertyThrough={msword.SmartTagActions.class})
  msword.SmartTagAction smartTagActions(
          Object index);

  /**
   * <p>
   * Getter method for the COM property "XMLNode"
   * </p>
   * @return  Returns a value of type msword.XMLNode
   */

  @DISPID(1004) //= 0x3ec. The runtime will prefer the VTID if present
  @VTID(18)
  XMLNode xmlNode();


  // Properties:
}
